package com.academic.system.service;

import com.academic.system.model.Achievement;
import java.util.List;
import java.util.Map;

/**
 * 成果服务接口
 */
public interface AchievementService {
    
    /**
     * 根据ID查找成果
     */
    Achievement findById(Integer id);
    
    /**
     * 查询学生的所有成果
     */
    List<Achievement> findByStudentId(Integer studentId);
    
    /**
     * 查询教师审核的所有成果
     */
    List<Achievement> findByReviewerId(Integer reviewerId);
    
    /**
     * 根据状态查询成果
     */
    List<Achievement> findByStatus(String status);
    
    /**
     * 根据学生ID和状态查询成果
     */
    List<Achievement> findByStudentIdAndStatus(Integer studentId, String status);
    
    /**
     * 根据教师ID和状态查询成果
     */
    List<Achievement> findByReviewerIdAndStatus(Integer reviewerId, String status);
    
    /**
     * 创建新成果
     */
    Achievement createAchievement(Achievement achievement);
    
    /**
     * 更新成果信息
     */
    Achievement updateAchievement(Achievement achievement);
    
    /**
     * 删除成果
     */
    void deleteAchievement(Integer id);
    
    /**
     * 审核成果
     */
    Achievement reviewAchievement(Integer id, String status, String comments, Integer reviewerId);
    
    /**
     * 获取学生成果统计
     */
    Map<String, Integer> getStudentAchievementStats(Integer studentId);
} 